import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        // int[] nums = {2, 7, 11, 15};
        // int[] ret = sum(nums,18);
        // System.out.println(Arrays.toString(ret));

        // int[] array = {4,1,2,1,2};
        // int single = single(array);
        // System.out.println(single);

        // int[] array = {1,2,34,3,4,5,7,23,12};
        // boolean ret = consecutiveOdd(array);
        // System.out.println(ret);

        int[] array = {2,2,1,1,1,2,2};
        int ret = majorityElement(array);
        System.out.println(ret);

    }
    public static int majorityElement(int[] array){
        for (int i = 0; i < array.length; i++) {
            int count = 1;
            for (int j = 0; j < array.length; j++) {
                if(i == j){
                    continue;
                }
                if(array[j] == array[i]){
                    count++;
                }
            }
            if(count > (array.length / 2)){
                return array[i];
            }
        }
        return -1;
    }


    //给你一个整数数组 arr，请你判断数组中是否存在连续三个元素都是奇数的情况：
    // 如果存在，请返回 true ；否则，返回 false
    public static boolean consecutiveOdd(int[] array){
        for (int i = 0; i < array.length - 2; i++) {
            if(array[i] % 2 != 0 && array[i+1] % 2 != 0 && array[i+2] % 2 != 0 ){
                return true;
            }
        }
        return false;
    }

    //给定一个非空整数数组，除了某个元素只出现一次以外，
    // 其余每个元素均出现两次。找出那个只出现了一次的元素。
    public static int single(int[] array) {
        int ret = 0;
        for (int i = 0; i < array.length; i++) {
            ret ^= array[i];
        }
        return ret;
    }

    // 给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出
    // 和为目标值 target 的那 两个 整数，并返回它们的数组下标。
    public static int[] sum(int[] nums, int target) {
        int[] ret = {-1, -1};
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < nums.length; j++) {
                if (nums[i] + nums[j] == target) {
                    ret[0] = i;
                    ret[1] = j;
                    return ret;
                }
            }
        }
        return ret;
    }
}
